package MapTest;

import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;

/*
HashMap和Hashtable的区别
    1.HashMap的key和value可以为null，Hashtable都不能为null
    2.Hashtable是线程安全的，有synchronized关键字，Hashtable对线程的处理导致效率较低，使用较少了
    3.Hashtable的初始化容量是11，默认加载因子是0.75f，扩容是：原容量*2+1
 */
public class HashtableTest1 {
    public static void main(String[] args){
        //HashMap集合的key和value可以为null吗？
        Map map = new HashMap();
        map.put(null,null);
        System.out.println(map.size()); //1 结果是可以
        map.put(null,100); //value变为100 为空的值只能有一个，不能重复

        //Hashtable集合的key和value可以为null吗
        Map table = new java.util.Hashtable();
        //table.put(null,100); 会发生空指针异常，key不能为null
        //table.put(100,null); 会发生空指针异常,value不能为null
        table.put(100,100);
    }
}
